草庐IT

ios - CGPDFDictionaryGetString 函数 nil 参数异常

全部标签

ruby - 具有 block 局部参数的多个 Kernel#local_variables 条目

我在ArchLinux上使用这个版本的Ruby。我还尝试了ruby​​1.9中的第一个代码片段,结果相同。ruby-vruby2.1.0p0(2013-12-25revision44422)[x86_64-linux]uname-aLinuxryantm0j1323.12.7-2-ARCH#1SMPPREEMPTSunJan1213:09:09CET2014x86_64GNU/Linux下面这三个片段是独立的程序。当我使用隐藏变量的block局部变量时,local_variables数组包含3个条目:a=1putslocal_variables.inspect#=>[:a]proc{|

ruby - 如何测试使用 rspec 的 block 的函数

我有一个函数,它接受一个block,打开一个文件,产生并返回:defstart&block.....dosomestuffFile.open("filename","w")do|f|f.write("something")....dosomemorestuffyieldendend我正在尝试使用rspec为其编写测试。我如何stubFile.open以便它将对象f(由我提供)传递给block而不是尝试打开实际文件?像这样的东西:it"shouldtestsomething"domyobject=double("File",{'write'=>true})File.should_rece

ruby-on-rails - RSpec:多次期待一条消息但参数不同

我目前对连续调用的模拟设置了一些期望:规范:@my_mock=mock("a_mock")@options1={:some=>"option"}@options2={:some_other=>"option"}@first_param=mock("first_param")@my_mock.should_receive(:a_message).with(@first_param,@options1)@my_mock.should_receive(:a_message).with(@first_param,@options2)但是,我得到以下信息:Mock"a_mock"received

ruby-on-rails - 使用摩卡,有没有办法用很多参数 stub ?

假设我有这门课classFoodefbar(param1=nil,param2=nil,param3=nil):bar1ifparam1:bar2ifparam2:bar3ifparam3endend我可以使用stubwholebar方法:Foo.any_instance.expects(:bar).at_least_once.returns(false)但是,如果我只想在bar方法的param1为真时stub,我找不到办法:我也看了with,和has_entry,好像只适用于单个参数。我期待这样的功能。Foo.any_instance.expects(:bar).with('true

sql - 具有相同名称列的连接表上的 Rails ".pluck"返回一个值,然后返回 nil

Experimenthas_many:featuresFeaturebelongs_to:experimentExperiment.where("experiments.id=1").joins(:features).pluck("features.id","experiments.id")我希望这会返回每个功能的ID和实验的ID。[[1,1],[2,1],[3,1],#....]相反,这会返回实验的id,然后返回nil[[1,nil],[1,nil],[1,nil],#....]这在三个方面很奇怪:即使它是一个内部联接并且只返回一个实验,我也能够从功能(features.name)中

ruby 默认参数习语

当你想要一个函数的默认参数,但它依赖于另一个参数/另一个变量时,Ruby中的习惯用法是什么?比如在Python中,一个例子是:definsort_right(a,x,lo=0,hi=None):ifhiisNone:hi=len(a)whilelo此处,如果未提供hi,则应为len(a)。您不能在默认参数列表中执行len(a),因此您为它分配一个标记值None,并检查它。Ruby中的等价物是什么? 最佳答案 deffoo(a,l=a.size)end 关于ruby默认参数习语,我们在St

ruby - Ruby 真的可以用作函数式语言吗?

Ruby真的可以用作函数式语言吗?有哪些好的教程可以教授该语言的这一方面?注意:我真的想使用并坚持使用Ruby作为我的主要语言,所以我现在对转换为YAFL(另一种函数式语言)不感兴趣。我对Ruby的功能方面相对于标准功能语言基线的表现非常感兴趣。谢谢。 最佳答案 是的......有点。Ruby缺乏合理的结构来强制实现不变性。(Object#freeze不算)不变性确实是函数式语言的基石。此外,Ruby的核心库高度面向命令式设计。它的Array和Hash类本质上都是可变的,甚至String也有使非不可变的方法(例如gsub!)。具有讽

ruby-on-rails - 将散列作为函数参数处理

我正在使用RubyonRails3,我正在尝试将散列作为函数参数进行处理。例如,如果我这样声明一个函数:deffunction_name(options={})...end我想向function_name传递一个类似的散列{"key1"=>"value_1","key2"=>"value2","..."=>"..."}然后在函数内部使用它。什么是最佳\常见(Rails)方法?P.S.:我在某处看到了extract_option!方法,但我不知道在哪里可以找到一些文档,也不知道我是否需要这些文档才能实现我的目标。 最佳答案 只需使用您

ruby - rake 将参数传递给相关任务

这是我目前运行rak相关任务的方式task:test=>[:prepare_testdir,:run_tests]目前这两个依赖任务没有参数。但是我需要向其中一项任务添加参数。它应该像在命令行上一样运行rakeprepare_testdir[mydir]我如何将这个新参数传递给这个task:test=>[:prepare_testdir,:run_tests]我试过了task:test=>[:prepare_testdir[mydir],:run_tests]和task:test=>[:prepare_testdir['mydir'],:run_tests]两者都不工作。提前致谢

ruby-on-rails - 从 Rack 中间件更改 Rails 参数哈希

我正在尝试从自定义Rack中间件对象向Rails参数散列添加一个值。我目前的做法是使用classPortalResolverdefinitialize(app)@app=appenddefcall(env)beginurl="#{env['rack.url_scheme']}://#{env['HTTP_HOST']}"request=Rack::Request.new(env)portal_id=DomainService.domain(url)#DomainServiceisreturningtheexpectedvaluerequest.params['portal_id']=p